//
//  MyCommentsVC.swift
//  BaseSwift
//
//  Created by gh on 2019/10/5.
//  Copyright © 2019 ghwang. All rights reserved.
//

import UIKit

class MyCommentsVC: UIViewController {

    var page = 1
    var dataArray:Array<TopPic> = Array()

    func sendRequest(){
        
        API.myTopicList(params: ["page":page.description]) { (result) in
            
            self.tableView.mj_header.endRefreshing()
            self.tableView.mj_footer.endRefreshing()
            
            
            let pageVo = result as! Page<TopPic>
            
            if self.page == 1{
                
                self.dataArray = pageVo.list

            }else{
                
                for item in pageVo.list {
                    
                    self.dataArray.append(item)
                }
            }
            
            if pageVo.list.count < 20{
                
                self.tableView.mj_footer.endRefreshingWithNoMoreData()
            }
            
            self.tableView.reloadData()
            
        }
        
    }
    
    lazy var tableView:UITableView = {
        
        
        var tableView = UITableView()
        tableView.dataSource = self
        tableView.delegate = self
        tableView.backgroundColor = UIColor.clear
        tableView.tableFooterView = UIView()
        tableView.separatorColor = UIColor.clear
        tableView.showsVerticalScrollIndicator = false
        tableView.register(UINib.init(nibName: "CommentImageCell", bundle: nil), forCellReuseIdentifier: "CommentImageCell")
        return tableView
    }()
    
    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        self.view.backgroundColor = UIColor.backgroundColor
        self.navigationView.setTitle("我的帖子")
        self.view.addSubview(tableView)
        let _ = tableView.sd_layout()?.spaceToSuperView(UIEdgeInsets(top: HT_StatusBarAndNavigationBarHeight, left: 0, bottom: HT_TabbarSafeBottomMargin, right: 0))
        
        
        let header = MJRefreshNormalHeader.init {
            
            self.page = 1
            self.sendRequest()
        }
        header?.stateLabel.isHidden = true
        header?.lastUpdatedTimeLabel.isHidden = true
        self.tableView.mj_header = header
        
        let footer = MJRefreshAutoNormalFooter.init {

            self.page += 1
            self.sendRequest()
        }
        self.tableView.mj_footer = footer
        self.sendRequest()

    }

}

extension MyCommentsVC:UITableViewDelegate,UITableViewDataSource{
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        
        let mod = self.dataArray.get(at: indexPath.row)
        
        if (mod?.userPostingImgList.count)! > 0 {
            
            return 305+10-55
            
        }else{
            
            return 315-112-55

        }
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        return self.dataArray.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "CommentImageCell") as! CommentImageCell
        cell.setModel(mod: self.dataArray.get(at: indexPath.row)!)
        return cell
    }
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {



        
    }
    func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
        
        return true
    }
    func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
        
        return .delete
    }
    func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
        
        //创建“更多”事件按钮
          let more = UITableViewRowAction(style: .normal, title: "更多") {
              action, index in
            
            
            let mod = self.dataArray.get(at: index.row)

            API.socialDetail(params: ["pId":mod!.id!]) { (result) in
                
                
                let dvc = SocialDetailVC()
                dvc.topPic = (result as! TopPic)
                PUSH(from: self, to: dvc)
            }
          }
          more.backgroundColor = UIColor.GP_Orange_Color
        
        //创建“删除”事件按钮
          let delete = UITableViewRowAction(style: .normal, title: "删除") {
              action, index in
              //将对应条目的数据删除
            
            let mod = self.dataArray.get(at: index.row)
            
            API.delMyTopic(params: ["pdtId":mod!.id!]) { (result) in
                
                self.dataArray.remove(at: index.row)
                tableView.reloadData()
            }


            
              
          }
          delete.backgroundColor = UIColor.GP_Red_Color
           
          //返回所有的事件按钮
          return [more,delete]
    }
    
    
}
